1. Field of the Invention
The present invention relates to an information processing system, a control method therefor, and a storage medium, and in particular to a method of obtaining print data for an image forming apparatus that obtains print data from a server on a network in an information processing system.
2. Description of the Related Art
Some services offered by image forming apparatuses placed in a network environment obtain PDL (page description language) data stored in a server and analyze the PDL data to perform printing. For example, there is a service that constructs a server in a cloud environment, and when a personal computer (PC) on a local network transfers document or image data to the server, causes the server to convert the data into PDL data and store the PDL data in its storage. Also, there is a service that performs conversion into PDL data on PC side, not on a server side, and after that, transfers the PDL data obtained as a result of the conversion to the server and stores the same in a storage of the server.
In a system that obtains and analyzes PDL data stored in a storage of a server and performs printing, there may be cases where it takes a long time for an image forming apparatus to obtain PDL data from the server, depending on an environment where the server is installed and the data size of PDL data stored in the storage. As a measure to reduce the time required for obtainment, there is an obtainment method using multiple sessions.
According to the obtainment method using multiple sessions, for example, a set of PDL data is obtained in parallel using a plurality of network sessions. For the set of PDL data, each of the network sessions obtains data in such a range as not to overlap ranges for the other sessions and from different offset positions. By an image forming apparatus combining data obtained by the individual network sessions together, the time elapsing before obtainment of all data is completed can be reduced.
The farther away a server is from an image forming apparatus (the longer the time from request to response is), the more effective the method. When data is to be obtained in one session, an image forming apparatus has to wait for response when response from a server is late, and hence a needless waiting time is spent. By obtaining data using a plurality of sessions in this waiting time, the speed at which all data is completely obtained increases.
However, an image forming apparatus obtaining data using a plurality of sessions in a waiting time also leads to an increase in the load on a CPU of the image forming apparatus. In order for an image forming apparatus to efficiently perform printing, it is required that all data on a page to be printed next reach the image forming apparatus from a server, and the amount of resources in a CPU or the like required to perform printing is sufficiently large.
When an image forming apparatus obtains data unrelated to a page to be printed next from a server, the data is usually spooled in a memory, a storage, or the like on a temporary basis. By spooling the data, printing of a page next to a page being currently printed can be smoothly performed. However, spooling data on the subsequent pages will merely increase the amount of data waiting to be printed. The time and resources used to obtain the data waiting to be printed are preferably assigned to printing being currently performed.
In general, data can be obtained by limiting pages desired to be printed using a method in which pages of print data are divided into individual data and obtained separately. By separately obtaining data on individual pages, it is possible to avoid obtainment of unnecessary data (see, for example, Japanese Laid-Open Patent Publication (Kokai) No. 2004-287625).
However, when multiple sessions are used, an offset position in PDL data at which data that relates to a page to be printed next lies is unknown from an image forming apparatus side. Moreover, in multiple sessions, the size of data obtained at a time by one session is generally fixed for all the sessions (for example, each of five sessions obtains 1 Mbyte at a time). For this reason, PDL data can be obtained at high speed using multiple sessions, but on the other hand, data unrelated to a page to be printed next is obtained at high speed, and needless data for the present printing process is spooled.
Further, since data unrelated to a page to be printed next is obtained at high speed, the load on a CPU increases, and the CPU cannot assign its processing time to the present printing process. Moreover, according to the method in which pages of PDL data are divided into individual data and obtained separately, a print data is divided into page units, and hence PDL data that is originally one set is treated as a plurality of PDL data, and for example, printing histories are left as different pieces of information, making data management and history management complicated. As a result, a means for an image forming apparatus to efficiently perform printing and obtain PDL data is needed.